#include "../include/defs.h"
#include "../include/kc.h"

extern PROCESO procesos[];

int
estaBloqueado(int pid)
{
    int i;

    for (i = 0; i < MAXPROCESOS; i++) {
        if (procesos[i].pid == pid && !procesos[i].free_slot) {
    
            if(procesos[i].bloqueado !=0)
                return 1;
            else
                return 0;
    
        }
    }
    if (i == MAXPROCESOS)
        return -1;
}

int
bloqueaProceso (int pid, int bloqCode) {
    int i;

    for (i = 0; i < MAXPROCESOS; i++) {
        if (procesos[i].pid == pid && !procesos[i].free_slot) {
            procesos[i].bloqueado = bloqCode;
            break;
        }
    }

    if (i == MAXPROCESOS)
        return -1;

    return 0;
}

int
desbloqueaProceso (int pid) {
    int i;

    for (i = 0; i < MAXPROCESOS; i++) {
        if (procesos[i].pid == pid && !procesos[i].free_slot) {
                if(procesos[i].bloqueado == 1)
                    procesos[i].bloqueado = 0;
            break;
        }
    }

    if (i == MAXPROCESOS)
        return -1;

    return 0;
}
